﻿using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Models;
using Estsh.Core.Repositories;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Estsh.Core.Wms.IRepositories
{
    public interface IOutSourceBatchRepository : IBaseRepository<BaseEntity>
    {
        public List<WmsOutstockDetail> CheckMoveDetail(string orderNo, int status);
        public List<SysStock> GetCartonInfoByGroupNo(string groupNo);
        public SysStock GetCartonInfo(string cartonNo);
        public List<SysStock> GetStockByCartonNo(string cartonNo);
        public List<SysStock> GetPartByFIFO(string part_id);
        public SetObjectDetail UpdteStatus(string orderNo,List<WmsOutstockDetail> detail, SysStock Stock,string groupNo,string loginId);
        public List<WmsOutstockDetail> getWmsOutstockDetailInfo(string orderNo);
        public List<SysStock> CheckMaterialSplit(List<SysStock> oldStock, int splitNum, string loginId, int splitCount);
        public string checkCartonNo(string carton, int splitCount);
        public List<SysStock> GetMaterialInfo(string cartonNo);
        public List<WmsOutstock> GetOutSourceBatchOrderList(string orderNo);
        public List<WmsOutstockDetail> GetOutSourceBatchOrderListByOrderNo(string orderNo);
        public int SQLTransaction(List<string> sqlStrings, List<DynamicParameters> parameterList);
    }
}
